unit clsocorrencia_Assistencia;

interface

uses Dm, dbtables, biblio;

type
  TOcorrencia_Assistencia = class(TObject)
  public
    OcorrenciaAss_Descricao: string;
    function Gravar(P_OcorrenciaAss_Codigo: string): Byte;
    function Recuperar(P_OcorrenciaAss_Codigo: string): Byte;
    function Excluir(P_OcorrenciaAss_Codigo: string): Byte;
    procedure Consultar(var p_q: TQuery; P_OcorrenciaAss_Descricao: string);
  end;

implementation

{ TOcorrencia_Assistencia }

procedure TOcorrencia_Assistencia.Consultar(var p_q: TQuery;
  P_OcorrenciaAss_Descricao: string);
begin
  p_q.sql.Clear;
  p_q.Params.Clear;
  p_q.sql.add('Select * from Ocorrencia_Assistencia where OcorrenciaAss_Descricao>=:k_OcorrenciaAss_Descricao order by OcorrenciaAss_Descricao');
  p_q.parambyname('k_OcorrenciaAss_Descricao').asstring := P_OcorrenciaAss_Descricao;
end;

function TOcorrencia_Assistencia.Excluir(P_OcorrenciaAss_Codigo: string): Byte;
var
  tq: TQuery;
begin
  tq := TQuery.create(DmInt);
  tq.DatabaseName := DmInt.Db.DatabaseName;
  tq.Active := false;
  tq.sql.clear;
  tq.Params.clear;
  tq.sql.add('Delete from Ocorrencia_Assistencia where OcorrenciaAss_Codigo=:K_OcorrenciaAss_Codigo');
  tq.ParamByName('K_OcorrenciaAss_Codigo').AsString := StrZero(P_OcorrenciaAss_Codigo, 2);
  tq.ExecSQL;
  tq.Close;
  tq.free;
  result := 1;
end;

function TOcorrencia_Assistencia.Gravar(P_OcorrenciaAss_Codigo: string): Byte;
var
  tq: TQuery;
begin
  tq := Tquery.Create(DmInt);
  tq.databasename := dmint.Db.DatabaseName;
  tq.active := False;
  tq.sql.clear;
  tq.params.clear;
  tq.sql.add('SELECT * FROM Ocorrencia_Assistencia where OcorrenciaAss_Codigo=:k_OcorrenciaAss_Codigo');
  tq.parambyname('k_OcorrenciaAss_Codigo').asstring := StrZero(P_OcorrenciaAss_Codigo, 2);
  tq.open;
  if tq.eof then begin
    tq.sql.clear;
    tq.params.clear;
    tq.sql.add('INSERT INTO Ocorrencia_Assistencia VALUES(:k_OcorrenciaAss_Codigo ,');
    if OcorrenciaAss_Descricao <> '' then
      tq.sql.add(':k_OcorrenciaAss_Descricao)')
    else
      tq.sql.add('null)');
  end else begin
    tq.sql.clear;
    tq.params.clear;
    tq.sql.add('UPDATE Ocorrencia_Assistencia SET ');
    if OcorrenciaAss_Descricao <> '' then
      tq.sql.add('OcorrenciaAss_Descricao=:k_OcorrenciaAss_Descricao ')
    else
      tq.sql.add('OcorrenciaAss_Descricao=null ');
    tq.sql.add(' where OcorrenciaAss_Codigo=:K_OcorrenciaAss_Codigo');
  end;
  tq.parambyname('k_OcorrenciaAss_Codigo').asstring := StrZero(P_OcorrenciaAss_Codigo, 2);
  if OcorrenciaAss_Descricao <> '' then
    tq.parambyname('k_OcorrenciaAss_Descricao').asstring := OcorrenciaAss_Descricao;
  tq.close;
  tq.execsql;
  result := 1;
  tq.close;
  tq.Free;
end;

function TOcorrencia_Assistencia.Recuperar(P_OcorrenciaAss_Codigo: string): Byte;
var
  tq: tquery;
begin
  tq := Tquery.Create(DmInt);
  tq.databasename := dmint.Db.DatabaseName;
  tq.active := False;
  tq.sql.clear;
  tq.params.clear;
  tq.sql.add('SELECT * FROM Ocorrencia_Assistencia where OcorrenciaAss_Codigo=:k_OcorrenciaAss_Codigo');
  tq.parambyname('k_OcorrenciaAss_Codigo').asstring := StrZero(P_OcorrenciaAss_Codigo, 2);
  tq.open;
  if tq.eof then begin
    OcorrenciaAss_Descricao := '';
    Result := 0;
  end
  else begin
    OcorrenciaAss_Descricao := tq.fieldbyname('OcorrenciaAss_Descricao').AsString;
    Result := 1;
  end;
  tq.close;
  tq.free;
end;

end.
